package com.ynet.middleground.contract.bean;

import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

import com.ynet.core.common.BaseReqObjPager;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author daigaole
 * @description 内管合约查询请求
 * @date 2020-03-18
 */
@Data
@ApiModel(value = "内管合约查询请求", description = "内管合约查询请求")
public class PortQueryContractReq extends BaseReqObjPager {

    private static final long serialVersionUID = 5298635998341151024L;

    /**
     * 渠道端业务id（档案依托渠道业务）
     */
    @ApiModelProperty(value = "渠道端业务id（档案依托渠道业务）", notes = "渠道端业务id（档案依托渠道业务）", dataType = "Integer")
    private String busId;

    /**
     * 审批流程编号
     */
    @ApiModelProperty(value = "审批流程编号", notes = "审批流程编号", dataType = "String")
    private String appProcessNo;

    /**
     * 签署时间起
     */
    @ApiModelProperty(value = "签署时间起（年月日八位数字，例如：20170124），查询本日期之后的增量数据（包含当日）",
        notes = "签署时间起（年月日八位数字，例如：20170124），查询本日期之后的增量数据（包含当日）", dataType = "String")
    private String tsignatoryDateStart;

    /**
     * 签署时间止
     */
    @ApiModelProperty(value = "签署时间止（年月日八位数字，例如：20170124），查询本日期之后的增量数据（包含当日）",
        notes = "签署时间止（年月日八位数字，例如：20170124），查询本日期之后的增量数据（包含当日）", dataType = "String")
    private String tsignatoryDateEnd;

    /**
     * 渠道：C01-小贷，C02-保理，C03-青港易付，C04-财务信贷平台，C05-中台内管
     */
    @ApiModelProperty(value = "渠道：C01-小贷，C02-保理，C03-青港易付，C04-财务信贷平台，C05-中台内管",
        notes = "渠道：C01-小贷，C02-保理，C03-青港易付，C04-财务信贷平台，C05-中台内管", dataType = "String")
    private String queryChannel;

    /**
     * 合约类型
     */
    @ApiModelProperty(value = "合约类型", notes = "合约类型", dataType = "String")
    private String contractTypeCode;

    /**
     * 产品类型
     */
    @ApiModelProperty(value = "产品类型", notes = "产品类型", dataType = "String")
    private String productType;

    /**
     * 客户经理
     */
    @ApiModelProperty(value = "客户经理", notes = "客户经理", dataType = "Integer")
    private Integer customerManager;

    /**
     * 签署方名称
     */
    @ApiModelProperty(value = "签署方名称", notes = "签署方名称", dataType = "String")
    private String signatoryName;

    /**
     * 合约名称
     */
    @ApiModelProperty(value = "合约名称", notes = "合约名称", dataType = "String")
    private String contractName;

    /**
     * 合约编号
     */
    @ApiModelProperty(value = "合约编号", notes = "合约编号", dataType = "String")
    private String contractNo;

    /**
     * 合约状态：0-未签署（新建保存状态下）、1-签署中、2-已签署、3-已结束
     */
    @Pattern(regexp = "^[\\x01-\\x7f]*$", message = "不能使用中文字符")
    @Size(min = 1, max = 1, message = "长度为1")
    @ApiModelProperty(value = "合约状态：0-未签署（新建保存状态下）、1-签署中、2-已签署、3-已结束", notes = "合约状态：0-未签署（新建保存状态下）、1-签署中、2-已签署、3-已结束",
        dataType = "String")
    private String status;

    /**
     * 合约类型
     */
    @ApiModelProperty(value = "合约类型的编号", notes = "合约类型的编号", dataType = "Integer")
    private Integer contractType;
}
